import './git-message';
import vue from '@vitejs/plugin-vue';
import createAutoImport from './auto-import';
import createSvgIcon from './svg-icon';
import createCompression from './compression';
import createSetupExtend from './setup-extend';
import mkcert from 'vite-plugin-mkcert';
import { createHtmlPlugin } from 'vite-plugin-html';
import DevTools from 'vite-plugin-vue-devtools';
import Components from 'unplugin-vue-components/vite';

export default function createVitePlugins(viteEnv, isBuild = false) {
  const vitePlugins = [
    vue(),
    mkcert(),
    DevTools(),
    createHtmlPlugin({
      minify: true,
      inject: {
        data: {
          title: viteEnv.VITE_APP_TITLE,
        },
      },
    }),
    Components({
      resolvers: [],
    }),
  ];
  vitePlugins.push(createAutoImport());
  vitePlugins.push(createSetupExtend());
  vitePlugins.push(createSvgIcon(isBuild));
  isBuild && vitePlugins.push(...createCompression(viteEnv));
  return vitePlugins;
}
